package com.run2code.design.behavioral.visitor;

/**
 * 打印信息访问者类，实现了ProductVisitor接口
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2024/06/25
 */
class PrintInfoVisitor implements ProductVisitor {
    /**
     * 实现访问书籍的方法，打印书籍信息
     * @param book
     */
    @Override  
    public void visitBook(Book book) {  
        System.out.println("书籍信息: 标题=" + book.getTitle() + ", 作者=" + book.getAuthor() + ", 价格=" + book.getPrice());  
    }

    /**
     * 实现访问电子产品的方法，打印电子产品信息
     * @param device
     */
    @Override  
    public void visitElectronicDevice(ElectronicDevice device) {  
        System.out.println("电子产品信息: 型号=" + device.getModel() + ", 品牌=" + device.getBrand() + ", 价格=" + device.getPrice());  
    }  
}